#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    x = 0;
    y = 0;
}

MainWindow::~MainWindow()
{
    delete ui;//правило удаления указателя
}
 void MainWindow::paintEvent(QPaintEvent *)
 {
     Qt::GlobalColor at;//перечисление которое содержит цвета
     switch((ui->spinBox_2->text().toInt()))//запускаем свич по значению, введённое в спинбокс 2
     {
     case 0:
         at = Qt::red;
         break;
     case 1:
         at = Qt::green;
         break;
     case 2:
         at = Qt::blue;
         break;
     case 3:
         at = Qt::cyan;
         break;
     case 4:
         at = Qt::magenta;
         break;
     case 5:
         at = Qt::yellow;
         break;
     default:
          at = Qt::black;

     }

     QPainter painter(this);//создаётся рисовальщик для окна
     painter.setPen(at);//устанавливаем цвет для рисования
     painter.setBrush(at);//уставнавливаем цвета для кисти
     painter.drawEllipse(x,y,//рисуем эллипс 1:4 и задаём размер с помощью первого спинбокса
                         ui->spinBox->text().toInt(),
                         ui->spinBox->text().toInt()/4);

 }

 void MainWindow::keyPressEvent(QKeyEvent * qke)//вызывается когда нажата какае-то клавиша
 {
     if(qke->key() == Qt::Key_Up)//если нажата клавиша "вверх", то мы сдвигаем по оси y на -3
         y -= 3;
     if(qke->key() == Qt::Key_Down)
         y += 3;
     if(qke->key() == Qt::Key_Left)
         x -= 3;
     if(qke->key() == Qt::Key_Right)
         x += 3;
    update();
 }

void MainWindow::on_spinBox_2_valueChanged(int arg1)
{
    update();
}

void MainWindow::on_spinBox_valueChanged(int arg1)
{
    update();
}
